Systems and methods for communication notification and handling

ABSTRACT

An Internet protocol (IP) telephony system provides telephony services to a mobile telephony device via data packet communications that traverse a data network. If the IP telephony system has received calls that were missed by the user of the mobile telephony device, or if the IP telephony system has received communications that have not yet been reviewed by the user of the mobile telephony device, information about those missed calls and unreviewed messages is delivered to the mobile telephony device so that the user can be alerted to their existence. The information may be delivered to the mobile telephony device in a push notification.

BACKGROUND OF THE INVENTION

The invention is related to Internet protocol (IP) telephony systemsthat provide telephony services to mobile telephony devices. The mobiletelephony devices communicate with the IP telephony systems via datapacket communications that are transmitted over a wireless dataconnection.

A mobile telephony device runs a software application provided by an IPtelephony system. The software application enables the mobile telephonydevice to place or receive voice over Internet protocol (VOIP) telephonecalls through the IP telephony system. The software application can alsoenable the mobile telephony device to send and receive other forms oftelephony communications, such as SMS and MMS messages, video calls, andother similar communications. The software application may also enablethe mobile telephony device to obtain and play voicemail messages thathave been recorded for the user of the mobile telephony device.

When an application provided by an IP telephony system is loaded and runon a mobile telephony device, the application contacts and registerswith the IP telephony system via a wireless data connection provided bythe mobile telephony device. So long as the application is activelyrunning on the mobile telephony device, a wireless communication pathmay be kept open between the application on the mobile telephony deviceand the IP telephony system. However, keeping such a communication pathopen and available may require that a small amount of data traffic besent between the mobile telephony device and the IP telephony system ona periodic basis. These periodic messages are called “keep alive”messages.

Provided the communication path remains open and available, any timethat an incoming call for the mobile telephony device is received by theIP telephony system, the call is connected to the mobile telephonydevice via that open path. Likewise, if an incoming SMS or MMS messagedirected to the mobile telephony device is received by the IP telephonysystem, the communication is delivered to the mobile telephony devicevia that path. Also, if the user of the mobile telephony device wishesto place an outgoing call, or send an outgoing SMS or MMS message, thecommunication is established or sent via the open path.

Because most mobile telephony devices run on battery power, it is commonfor a mobile telephony device, or the application, to cease sending“keep-alive” messages, and thus terminate the open path, if no activityoccurs for an extended period of time. Doing so reduces powerconsumption, and extends battery life. Also, a user may not open and runsuch the software application used to communicate with the IP telephonysystem until the user wishes to place an outgoing call or send anoutgoing message. Further, if a user has ended a call, or sent acommunication, the user may choose to deliberately terminate such anapplication. If the application is not running on the mobile telephonydevice, or if the wireless communication path is not open and available,it is difficult and sometimes impossible for the IP telephony system toreadily communicate with the mobile telephony device for the purpose ofterminating a call to the mobile telephony device, or delivering amessage to the mobile telephony device. Moreover, when the IP telephonysystem is not capable of communicating with the application on themobile telephony device, the IP telephony system is unable to eveninform the user that the user has missed a call, or that communicationsand/or voicemail messages are waiting for the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a communications environment including variouselements which are associated with an Internet protocol (IP) telephonysystem operating in accordance with the invention;

FIG. 2 is a block diagram of various elements of a processor that formspart of an IP telephony system operating in accordance with theinvention;

FIG. 3 is a block diagram illustrating how various elements of an IPtelephony system embodying the invention interact with a mobiletelephony device;

FIG. 4 is a block diagram showing elements of an application embodyingthe invention that may be loaded and run by a mobile telephony device;

FIG. 5 is a flowchart of a method embodying the invention that isperformed by a mobile telephony device; and

FIG. 6 is a flowchart of a method embodying the invention that isperformed by elements of an IP telephony system.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description of preferred embodiments refers tothe accompanying drawings, which illustrate specific embodiments of theinvention. Other embodiments having different structures and operationsdo not depart from the scope of the present invention.

In the following description, the terms VOIP system, VOIP telephonysystem, IP system and IP telephony system are all intended to refer to asystem that connects callers and that delivers data, text and videocommunications using Internet protocol data communications.

As illustrated in FIG. 1, a communications environment 100 is providedto facilitate IP enhanced communications. An IP telephony system 120enables connection of telephone calls between its own customers andother parties via data communications that pass over a data network 110.The data network 110 is commonly the Internet, although the IP telephonysystem 120 may also make use of private data networks. The IP telephonysystem 120 is connected to the Internet 110. In addition, the IPtelephony system 120 is connected to a publicly switched telephonenetwork (PSTN) 130 via a gateway 122. The PSTN 130 may also be directlycoupled to the Internet 110 through one of its own internal gateways(not shown). Thus, communications may pass back and forth between the IPtelephony system 120 and the PSTN 130 through the Internet 110 via agateway maintained within the PSTN 130.

The gateway 122 allows users and devices that are connected to the PSTN130 to connect with users and devices that are reachable through the IPtelephony system 120, and vice versa. In some instances, the gateway 122would be a part of the IP telephony system 120. In other instances, thegateway 122 could be maintained by a third party.

Customers of the IP telephony system 120 can place and receive telephonecalls using an IP telephone 108 that is connected to the Internet 110.Such an IP telephone 108 could be connected to an Internet serviceprovider via a wired connection or via a wireless router. In someinstances, the IP telephone 108 could utilize the data channel of acellular telephone system to access the Internet 110.

Alternatively, a customer could utilize an analog telephone 102 which isconnected to the Internet 110 via a telephone adapter 104. The telephoneadapter 104 converts analog signals from the telephone 102 into datasignals that pass over the Internet 110, and vice versa. Analogtelephone devices include but are not limited to standard telephones anddocument imaging devices such as facsimile machines. A configurationusing a telephone adapter 104 is common where the analog telephone 102is located in a residence or business. Other configurations are alsopossible where multiple analog telephones share access through the sameIP adaptor. In those situations, all analog telephones could share thesame telephone number, or multiple communication lines (e.g., additionaltelephone numbers) may provisioned by the IP telephony system 120.

In addition, a customer could utilize a soft-phone client running on acomputer 106 to place and receive IP based telephone calls, and toaccess other IP telephony systems (not shown). In some instances, thesoft-phone client could be assigned its own telephone number. In otherinstances, the soft-phone client could be associated with a telephonenumber that is also assigned to an IP telephone 108, or to a telephoneadaptor 104 that is connected one or more analog telephones 102.

Users of the IP telephony system 120 are able to access the service fromvirtually any location where they can connect to the Internet 110. Thus,a customer could register with an IP telephony system provider in theU.S., and that customer could then use an IP telephone 108 located in acountry outside the U.S. to access the services. Likewise, the customercould also utilize a computer outside the U.S. that is running asoft-phone client to access the IP telephony system 120.

A third party using an analog telephone 132 which is connected to thePSTN 130 may call a customer of the IP telephony system 120. In thisinstance, the call is initially connected from the analog telephone 132to the PSTN 130, and then from the PSTN 130, through the gateway 122 tothe IP telephony system 120. The IP telephony system 120 then routes thecall to the customer's IP telephony device. A third party using acellular telephone 134 could also place a call to an IP telephony systemcustomer, and the connection would be established in a similar manner,although the first link would involve communications between thecellular telephone 134 and a cellular telephone network. For purposes ofthis explanation, the cellular telephone network is considered part ofthe PSTN 130.

In the following description, references will be made to an “IPtelephony device.” This term is used to refer to any type of devicewhich is capable of interacting with an IP telephony system to completean audio or video telephone call or to send and receive text messages,and other forms of communications. An IP telephony device could be an IPtelephone, a computer running IP telephony software, a telephone adapterwhich is itself connected to a normal analog telephone, or some othertype of device capable of communicating via data packets. An IPtelephony device could also be a cellular telephone or a portablecomputing device that runs a software application that enables thedevice to act as an IP telephone. Thus, a single device might be capableof operating as both a cellular telephone and an IP telephone.

The following description will also refer to a mobile telephony device.The term “mobile telephony device” is intended to encompass multipledifferent types of devices. In some instances, a mobile telephony devicecould be a cellular telephone. In other instances, a mobile telephonydevice may be a mobile computing device, such as the Apple iPhone^(TM),that includes both cellular telephone capabilities and a wireless datatransceiver that can establish a wireless data connection to a datanetwork. Such a mobile computing device could run appropriateapplication software to conduct VOIP telephone calls via a wireless dataconnection. Thus, a mobile computing device, such as an Apple iPhone™, aRIM Blackberry or a comparable device running Google's Android operatingsystem could be a mobile telephony device.

In still other instances, a mobile telephony device may be a device thatis not traditionally used as a telephony device, but which includes awireless data transceiver that can establish a wireless data connectionto a data network. Examples of such devices include the Apple iPodTouch™ and the iPad™. Such a device may act as a mobile telephony deviceonce it is configured with appropriate application software.

FIG. 1 illustrates that a mobile telephony device 136 is capable ofestablishing a first wireless data connection A with a first wirelessaccess point 140, such as a WiFi or WiMax router. The first wirelessaccess point 140 is coupled to the Internet 110. Thus, the mobiletelephony device 136 can establish a VOIP telephone call with the IPtelephony system 120 via a path through the Internet 110 and the firstwireless access point 140.

FIG. 1 also illustrates that the mobile telephony device 136 canestablish a second wireless data connection B with a second wirelessaccess point 142 that is also coupled to the Internet 110. Further, themobile telephony device 136 can establish a third wireless dataconnection C via a data channel provided by a cellular service provider130 using its cellular telephone capabilities. The mobile telephonydevice 136 could also establish a VOIP telephone call with the IPtelephony system 120 via the second wireless connection B or the thirdwireless connection C.

Although not illustrated in FIG. 1, the mobile telephony device 136 maybe capable of establishing a wireless data connection to a data network,such as the Internet 110, via alternate means. For example, the mobilecomputing device 136 might link to some other type of wireless interfaceusing an alternate communication protocol, such as the WiMax standard.

FIG. 2 illustrates elements of a computer processor 250 that can be usedas part of the system operated by the IP telephony system 120 toaccomplish various functions. The IP telephony system 120 could utilizemultiple processors 250 located at various locations, along with theiroperating components and programming, each carrying out a specific ordedicated portion of the functions performed by the IP telephony system120.

The processor 250 shown in FIG. 2 may be one of any form of a generalpurpose computer processor used in operating an IP based communicationsystem. The processor 250 comprises a central processing unit (CPU) 252,a memory 254, and support circuits 256 for the CPU 252. The processor250 also includes provisions 258/260 for connecting the processor 250 tocustomer equipment via one or more access points, such as the Internet110, the gateway 122 and a data channel provided by a cellular serviceprovider 130, as well as possibly one or more input/output devices (notshown) for accessing the processor and/or performing ancillary oradministrative functions related thereto. The provisions 258/260 areshown as separate bus structures in FIG. 2; however, they mayalternately be a single bus structure without degrading or otherwisechanging the intended operability of the processor 250.

Another form of processor 250 that assists in execution and is otherwisepart of the subject invention is found within a mobile telephony device136. Such devices are sufficiently advanced beyond early generationcellular telephones that they contain processors capable of runningoperating systems developed by device manufactures, as well as thirdparty applications that are downloaded and installed by users toperforming a myriad of communications and non-communications orientedtasks.

The memory 254 is coupled to the CPU 252. The memory 254, orcomputer-readable medium, may be one or more of readily available memorysuch as random access memory (RAM), read only memory (ROM), floppy disk,hard disk, flash memory or any other form of digital storage, local orremote, and is preferably of non-volatile nature. The support circuits256 are coupled to the CPU 252 for supporting the processor in aconventional manner. These circuits include cache, power supplies, clockcircuits, input/output circuitry and subsystems, and the like.

A software routine 262, when executed by the CPU 252, causes theprocessor 250 to perform processes of the disclosed embodiments, and isgenerally stored in the memory 254. The software routine 262 may also bestored and/or executed by a second CPU (not shown) that is remotelylocated from the hardware being controlled by the CPU 252. Also, thesoftware routines could also be stored remotely from the CPU. Forexample, the software could be resident on servers and memory devicesthat are located remotely from the CPU, but which are accessible to theCPU via a data network connection.

The software routine 262, when executed by the CPU 252, transforms thegeneral purpose computer into a specific purpose computer that performsone or more functions of the IP telephony system 120 or the mobiletelephony device 136. Although the processes of the disclosedembodiments may be discussed as being implemented as a software routine,some of the method steps that are disclosed therein may be performed inhardware as well as by a processor running software. As such, theembodiments may be implemented in software as executed upon a computersystem, in hardware as an application specific integrated circuit orother type of hardware implementation, or a combination of software andhardware. The software routine 262 of the disclosed embodiments iscapable of being executed on any computer operating system, and iscapable of being performed using any CPU architecture.

As explained above in the background section, a mobile telephony device136 can run an application to communicate with an IP telephony system120 for the purpose of initiating and receiving telephone calls and forthe purpose of sending or receiving other forms of communications.Communications between the IP telephony system 120 and the mobiletelephony device 136 take the form of data packet communications thatpass over a wireless data connection to the mobile telephony device 136.

As also explained above, if the application is not running on the mobiletelephony device 136, or if a wireless data connection between the IPtelephony system 120 and the application on the mobile telephony device136 is not open and available, the IP telephony system 120 may find itimpossible to terminate incoming calls to the mobile telephony device136, or to deliver communications and voicemail recordings to the mobiletelephony device 136. Further, the IP telephony system 120 cannot eveninform the user of the mobile telephony device 136 that he has missedcalls, or that unread/unheard communications are waiting to be deliveredto the mobile telephony device 136.

Systems and methods embodying the invention provide a mechanism forinforming a user when he has missed an incoming call or when unreadcommunications and voicemail recordings are waiting to be delivered tothe mobile telephony device. This mechanism makes use of pushnotifications that are delivered to the user's mobile telephony device136.

Many mobile telephony devices 136 are configured to receive pushnotifications, even when they are in an idle state or power saving mode.Also, mobile telephony devices 136 are configured such that noparticular software application needs to be running on the mobiletelephony device 136 to allow the mobile telephony device 136 to acceptand display a push notification. Provided a push notification is sentfrom a proper originating entity, and includes proper identificationcodes, a mobile telephony device 136 will accept the push notificationand display it to the user.

Push notifications are delivered to a mobile telephony device 136 by apush notification service. The push notification service may beassociated with the maker of the mobile telephony device, or with aservice provider that provides cellular service to the mobile telephonydevice 136.

When a push notification is received by a mobile telephony device 136,the mobile telephony device 136 displays a text-based message that isincluded in the push notification. A push notification may also causethe mobile telephony device 136 to display two selectable buttons.Selecting one of the buttons causes the mobile telephony device 136 toignore the push notification. Selecting the other button may cause anaction to be performed by the mobile telephony device 136.

Third party software developers that have provided a softwareapplication that is loaded onto a mobile telephony device 136 canconfigure their software applications to register with a pushnotification service. Once a software application on a mobile telephonydevice 136 has registered with the push notification service, theproducer of the software application can cause the push notificationservice to send push notifications to the mobile telephony device 136.

A third party that has provided a software application that is loadedonto a mobile telephony device 136 can cause the application to beloaded and run on the mobile telephony device 136 by sending a pushnotification to the mobile telephony device 136. As noted above, a pushnotification can cause the mobile telephony device 136 to display twouser selectable buttons, one of which causes the mobile telephony device136 to take a certain action. When the user of the mobile telephonydevice 136 selects such a button, which is displayed in response toreceipt of a push notification sent from the third party, the softwareapplication provided by that third party is loaded and run on the mobiletelephony device 136. Further, information contained in the receivedpush notification may be provided to the application, and theapplication may use that information to take certain actions.

FIG. 3 illustrates a communications environment that is capable ofperforming methods embodying the invention. In this communicationsenvironment, an IP telephony system 120 provides communications servicesto a mobile telephony device 136 via data packet communications thatpass over a data network 110, such as the Internet. In some embodiments,the mobile telephony device 136 accesses the data network 110 via awireless access point 140. In alternate embodiments, the mobiletelephony device 136 accesses the data network 110 via a data channelprovided by a cellular service provider 130.

In some embodiments, a push notification is delivered to the mobiletelephony device 136 by a push notification service 308 that is part ofthe IP telephony system 120. The push notification may be delivered viaa path that includes the data network 110 and the wireless access point140. Alternatively, the push notification may be delivered to the mobiletelephony device 136 via a path that includes the cellular serviceprovider 130.

In other embodiments, the push notification may be delivered to themobile telephony device 136 from an external push notification service320 that is operated by a third party. In that instance, the internalpush notification service 308 would send a communication to the externalpush notification service 320, either directly or via the data network110, requesting that a specific push notification be delivered to themobile telephony device 136. The external push notification service 320then causes an appropriate push notification to be delivered to themobile telephony device 136 via the data network 110 and the wirelessaccess point 140, or via the cellular service provider 130. An exampleof an external push notification service is the Apple Push NotificationService that delivers push notifications to Apple iPhones™, and otherApple devices.

Push notifications may be sent to the mobile telephony device 136 undera variety of different circumstances for a variety of differentpurposes. In each case however, the push notification is sent only ifthe IP telephony system 120 finds that it is unable to communicate withthe application on the mobile telephony device 136. As noted above, thiscould occur if the application is not loaded and running on the mobiletelephony device 136, or where a wireless data path between the IPtelephony system 120 and the application on the mobile telephony device136 is not active and available.

In one circumstance, an incoming call processing system 302 of the IPtelephony system 120 receives an incoming call that is directed to themobile telephony device 136, and the incoming call processing system 302finds it is unable to communicate with the application on the mobiletelephony device 136 to setup the call. In that instance, the incomingcall processing system 302 contacts the push notification system 308 andasks that an incoming call push notification be sent to the mobiletelephony device 136. The push notification system 308 causes a pushnotification to be sent to the mobile telephony device with a suitablemessage. The message included in the push notification can include theidentity of the calling party, as reflected in caller ID informationthat was received as part of the incoming call setup request. This couldinclude the telephone number of the calling party, and a name associatedwith the calling party.

In addition, the IP telephony system 120 may maintain a list of contactsfor the user of the mobile telephony device 136 in a contact system 306of the IP telephony system 120. If that is the case, the IP telephonysystem 120 checks the contact system 306 to see if there is an entry inthe user's contact list corresponding to the calling party. If so, thecalling party's identity, as reflected in the user's contact list entry,will be inserted into the push notification message in place of thetelephone number or name provided as part of the caller ID informationin the call setup request.

The push notification system 308 sends the push notification directly tothe mobile telephony device 136, or the internal push notificationsystem 308 of the IP telephony system 120 causes the external pushnotification system 320 to send the push notification to the mobiletelephony device 136.

The mobile telephony device 136 receives the push notification andcauses a message to be displayed to the user. The mobile telephonydevice 136 may also cause an alert tone to be played to alert the userto the receipt of the push notification. As explained, the pushnotification can include a message such as “Incoming call from party X,would you like to answer the call?” Two selectable buttons aredisplayed, one to decline the call, and the other to accept the call.

If the user selects the accept call button, the mobile telephony device136 launches the application used to communicate with the IP telephonysystem 120, and the application registers with the IP telephony system120. The call is then setup between the IP telephony system 120 and themobile telephony device 136 via data packets that traverse the datanetwork 110 or a data channel provided by the cellular service provider130.

A similar process occurs if an incoming message processing unit 304 ofthe IP telephony system 120 receives an incoming communication directedto the mobile telephony device 136, and the IP telephony system 120cannot communicate with the application on the mobile telephony device136. The communication could be a SMS or MMS text message, a videomessage, a voicemail message or some other type of deliverablecommunication. In this instance, the incoming message processing unit304 requests that the internal push notification system 308 send a pushnotification to the mobile telephony device 136.

Here again, the push notification would include suitable text, such as“An incoming SMS message has been received from Party X, would you liketo view the message?” When the mobile telephony device 136 receives thepush notification, it displays the message along with two selectablebuttons that the user can select to either ignore the message, or causethe message to be displayed. Here again, the identity of the party thatsent the message that appears in the displayed text may be drawn fromthe user's contact list maintained in the contact system 306 of the IPtelephony system 120. This information would be obtained using thecaller ID or sending party identity information appearing in thereceived communication. If the user selects the button that causes thecommunication to be displayed, the application is loaded and run on themobile telephony device 136, the application registers with the IPtelephony system 120, and the application retrieves the communicationfrom the incoming message processing unit 304 of the IP telephony systemand displays or plays it for the user.

In some instances, when the IP telephony system 120 receives an incomingcall or an incoming communication that is directed to the mobiletelephony device 136, the IP telephony system 120 will not only beunable to immediately connect the call or deliver the communication, butthe IP telephony system 120 may also fail in delivering a pushnotification to the mobile telephony device 136. This could occur if themobile telephony device 136 is turned off, or if the mobile telephonydevice is out of range of a wireless access point 140 and/or thecellular service provider 130. Under these circumstances, the user willnot only miss the call or communication, but the user will also not beaware of the fact that the call or communication was missed. In fact,under these circumstances, the user may miss and be unaware of multipleincoming calls and communications.

To keep the user fully informed, systems and methods embodying theinvention provide information about missed calls and unread/unplayedcommunications the next time that the IP telephony system 120 is able toestablish communications with the mobile telephony device 136. Thedelivery of this information to the mobile telephony device 136 couldoccur in a variety of different ways, and the information could bepresented to the user in a variety of different ways.

For example, the next time that the user loads and runs the applicationon the mobile telephony device 136, the application registers with anapplication registration unit 314 of the IP telephony system 120. Duringthe registration process, the application registration unit checks withthe incoming call processing system 302 and the incoming messageprocessing unit 304 of the IP telephony system 120 to determine if thereare missed calls and/or undelivered messages that the user has not yetbeen made aware of. If that is the case, this information is provided tothe application on the mobile telephony device 136. The application, inturn, presents this information to the user.

In some embodiments, a display interface generated by the application onthe mobile telephony device 136 displays information about any missedcalls and any unread/unplayed communications. This could include anindication of the identity of the calling party for missed calls, andthe identity of the party that sent any unread communications.

A display screen of the mobile telephony device 136 may show a badge oricon that is selected by the user to load and run the application usedto communicate with the IP telephony system 120. In such embodiments,numbers may appear on or adjacent the badge or icon to indicate to theuser that there are missed calls and unread/unplayed communications.This might be a single number that represents all missed call events andall unread/unplayed communications. In alternate embodiments, two ormore numbers may be displayed on or adjacent a badge or icon, where eachnumber corresponds to a different category. For example, one number mayindicate the number of missed calls, whereas a second number mayindicate the total number of unread/unplayed communications that havebeen received for the user.

Information about missed calls and unread or unplayed messages couldalso be delivered to the mobile telephony device 136 as part of a pushnotification. For example, if the mobile telephony device 136 is notrunning the application, and the mobile telephony device was out ofrange of a wireless access point 140 and the cellular service provider130 for an extended period of time, several missed calls and severalincoming communications may have been received by the IP telephonysystem 120 for the user. When the user comes back within range of awireless access point 140 or the cellular service provider 130, theapplication will still not be running on the mobile telephony device136. However, if the IP telephony system 120 sends a push notificationto the mobile telephony device 136, the push notification can includeinformation about the total number of missed calls and the total numberof unread/unplayed communications that have been received by the IPtelephony system 120 while the user was out of communications range. Forexample, if the IP telephony system 120 receives a new call for theuser, the push notification system 308 causes a push notification to besent to the mobile telephony device 136 to see if the user wishes toanswer the call.

Even if the user declines to answer the call, the push notificationreceived by the mobile telephony device 136 includes information aboutthe total number of calls that were missed by the user and the totalnumber of unread/unplayed communications that are waiting for the user.And once this information is received, the mobile telephony device 136uses the information to update the numbers appearing on or adjacent abadge or icon connected with the application. Thus, even where the pushnotification does not result in the application being loaded and run,the numbers appears on the badge or icon will alert the user to the factthat he missed some calls and that there are unread/unplayedcommunications waiting to be reviewed. Based on this information, theuser may choose to load and run the application so that the user canaccess information about the missed calls, or so the user can review theunread/unplayed communications.

The incoming message processing unit 304 of the IP telephony system 120receives incoming communications directed to the user's mobile telephonydevice 136. If the incoming message processing unit 304 cannotimmediately deliver the communication to the mobile telephony device136, either via an immediate communication with the application on themobile telephony device 136 or by sending a push notification to causethe running of the application, the incoming message processing unit 304stores the communication for later delivery. The incoming messageprocessing unit 304 maintains a queue of unread/unplayed communicationsfor later delivery.

In some embodiment, the incoming call processing system 302 generatesand maintains a similar list of missed calls for each user's mobiletelephony device 136. However, in alternate embodiments, an eventprocessing system 310 of the IP telephony system 120 is used to generatethe list of missed calls. An event processing system 310 reviews thecall detail records (CDRs) that are created by the IP telephony system120 each time that a call is handled by the IP telephony system 120. TheCDR data is stored in a CDR database 312 that is accessed by the eventprocessing system 310. The event processing system 310 reviews theinformation in the CDRs to determine when an incoming call directed tothe mobile telephony device 136 is missed for any reason. Particulartypes of information present in the CDRs will allow the event processor310 to determine when an incoming call was missed by the user, and whenthe user is unaware that the call was even missed, as described above.

The event processing system 310 may periodically review the informationcontained in the CDR database 312 to create lists of missed calls foreach mobile telephony device 136. Alternatively, the event processingsystem 310 may add missed calls to lists being maintained for eachmobile telephony device 136 as those calls are missed.

Information about missed calls that is developed by either the incomingcall processing system 302 or the event processing system 310 isprovided to the application registration unit 314 so that theinformation can be provided to an application on a mobile telephonydevice 136 each time that the application registers with the IPtelephony system 120. This same information is also provided to the pushnotification system 308 so that the information can be included in apush notification each time that a push notification is sent to themobile telephony device.

Likewise, information about unread/unplayed communications received bythe incoming message processing unit 304 is provided to both theapplication registration unit 314 and the push notification system 308so that this information can be delivered to the application on themobile device 136 when it registers with the IP telephony system, and sothat the information can be provided in push notifications sent to themobile telephony device 136.

A push notification may also be sent to the mobile telephony device 136when a new contact is added to the user's contact list maintained by thecontact system 306 of the IP telephony system 120. This could occur whenthe contact system 306 is unable to directly communicate with theapplication on the mobile telephony device 136.

Information about new contacts that have been added to a user's contactlist on the contact system 306 may be provided to the application on themobile telephony device 136 by the application registration unit 314when the application registers with the IP telephony system 120. Also,information about a number of new contacts that have been added to theuser's contact list on the contact system 306 may also be included in apush notification sent to the mobile telephony device 136. Here again,this information could be presented as numbers on or adjacent a badge oricon related to the application so that the user is informed that somenew information is available.

Also, information about unheard voicemail messages, and/or a totalnumber of stored voicemail messages may be provided to the applicationon the mobile telephony device 136 by the application registration unit314 when the application registers with the IP telephony system 120.Also, information about voicemail messages may also be included in apush notification sent to the mobile telephony device 136. Here again,this information could be presented as numbers on or adjacent a badge oricon related to the application so that the user is informed that somenew information is available.

FIG. 4 illustrates some functional elements that are present in themobile application 400 loaded onto and run by a mobile telephony device136. The mobile application 400 includes a registration unit 402 that isresponsible for registering with the IP telephony system 120 when theapplication is able to establish a wireless data connection with the IPtelephony system 120.

An incoming call/message processing unit 404 is responsible for settingup calls through the IP telephony system 120. This unit also sendsoutgoing communications such as SMS, MMS and video messages to the IPtelephony system 120, and receives similar communications from the IPtelephony system 120. Such actions would occur when the application isloaded and running on the mobile telephony device 136, and a wirelessdata connection has been established with the IP telephony system 120.

A push notification message processing unit 406 may interact with otherelements of the mobile telephony device 136, and/or with the operatingsystem of the mobile telephony device 136 to receive and processinformation that was delivered via a push notification. Such informationmay be used by a badge update unit 408 to update numbers indicative ofvarious items of information that appear on a badge or icon associatedwith the application. In alternate embodiments, the updating of numberson a badge or icon associated with the application may be performed byother elements of the mobile telephony device 136, or by the operatingsystem of the mobile telephony device 136, using information in areceived push notification.

A data retrieval unit 409 retrieves information from the IP telephonysystem 120. This could include information about missed calls,information about unread/unplayed communications, or the unread/unplayedcommunications themselves.

FIG. 5 illustrates steps of a method embodying the invention that wouldbe performed by a mobile telephony device 136 when a push notificationis received. The method begins in step S502, when a push notification isreceived by the mobile telephony device 136. In step S504, a messagethat is part of the push notification is displayed to the user. Asexplained above, this could include displaying two user selectablebuttons that allow the user to ignore the message, or cause a particularaction to occur.

In step S506, the mobile telephony device accepts some form on inputprovided by the user. This would typically include the user selectingone or the other of the displayed buttons. If the user wishes to acceptan incoming call or review an incoming message that is announced by thepush notification, the application would be loaded and run, and the callwould be connected or the incoming communication would bedisplayed/played. Alternatively, if the user wishes to ignore theincoming call or communication, the user selects the other displayedbutton.

In step S508, a display item is updated. This could include updating anumber appearing on or adjacent to a badge or icon associated with theapplication. As explained above, even where the user chooses to ignorean incoming call or communication that is announced by a received pushnotification, information contained in the push notification could beused in step S508 to update a display item associated with theapplication. Thus, for instance, a number of missed calls indicated by anumber on a badge or icon could be updated in step S508 usinginformation contained in the push notification. Also, a numberindicating the number of unread/unplayed communications that have beenreceived for the user could be updated in step S508 using information inthe received push notification.

FIG. 6 illustrates steps of a method that would be performed by in IPtelephony system to determine the number of missed calls that haveoccurred for a mobile telephony device 136, and to provide thatinformation to the mobile telephony device 136 in a push notification.The method begins in step S602, when an event processing system 310 ofan IP telephony system 120 reviews information contained in a CDRdatabase 312 to identify the number of missed calls that have beenreceived for a particular mobile telephony device 136. Then, in stepS604 the push notification system of the IP telephony system 120 sends apush notification to the mobile telephony device with information aboutthe number of missed calls. This allows the mobile telephony device topresent this information to the user of the mobile telephony device 136via a method as described above in connection with FIG. 5.

In some embodiments of the invention, the application on a user's mobiletelephony device may allow the user to mark a contact list to identifypeople on the contact list that should be notified whenever the user'smobile telephony device registers with the IP telephony system andbecomes available via a data network. Thereafter, when the user's mobiletelephony device registers with the IP telephony system, the IPtelephony system sends notifications to the parties who were identifiedon the user's contact list to inform them that the user is available forcalls or other communications via a data network.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

While the invention has been described in connection with what ispresently considered to be the most practical and preferred embodiment,it is to be understood that the invention is not to be limited to thedisclosed embodiment, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims.

What is claimed is:
 1. A method for updating a display on a mobiletelephony device to indicate that unread information is available,comprising: receiving a push notification that includes informationindicative of at least one of a number of unread missed calls, a numberof unread messages and a number of new contacts; and updating a displayitem on the mobile telephony device to reflect the information includedin the push notification.
 2. The method of claim 1, wherein the updatingstep comprises updating the display item to indicate a number of unreadmissed calls that have been received by an Internet protocol (IP)telephony system for the user of the mobile telephony device and aboutwhich no information has yet been delivered to the user's mobiletelephony device.
 3. The method of claim 2, wherein the updating stepfurther comprises updating the display item to also indicate a number ofunread messages that have been received by the IP telephony system forthe user of the mobile telephony device and which have not yet beendisplayed to or played to the user.
 4. The method of claim 1, whereinthe updating step comprises updating the display item to indicate anumber of unread messages that have been received by an Internetprotocol (IP) telephony system for the user of the mobile telephonydevice and which have not yet been displayed to or played to the user.5. The method of claim 1, wherein the updating step comprises updatingthe display item to indicate a total number of unread missed calls andunread messages that have been received by an Internet protocol (IP)telephony system for the user of the mobile telephony device.
 6. Themethod of claim 1, wherein the updating step comprises updating at leastone number that appears on a badge displayed on the mobile telephonydevice.
 7. The method of claim 1, wherein the receiving and updatingsteps are performed by an application running on the user's mobiletelephony device.
 8. The method of claim 1, wherein the pushnotification announces an incoming call, wherein the method furtherincludes causing a message to be displayed on a display screen of themobile telephony device, and wherein the message includes userselectable buttons that the user can activate to either receive the callor decline the call.
 9. The method of claim 8, wherein the pushnotification is received from an Internet protocol telephony system,wherein the step of causing the message to be displayed includes causinga message to be displayed that includes an identity of the callingparty, and wherein the displayed identity information is taken from anaddress book maintained for the user by the IP telephony system.
 10. Amethod of sending information regarding missed calls to a mobiletelephony device, comprising: reviewing call data records (CDRs)maintained by an Internet protocol (IP) telephony system to identifymissed calls that were directed to a user's mobile telephony device butwhich were not connected to the user's mobile telephony device; andsending a push notification to the user's mobile telephony device, wherethe push notification includes information about a total number ofunread missed calls that were directed to but not connected to theuser's mobile telephony device and about which no information has beensent to the user's mobile telephony device.
 11. The method of claim 10,further comprising determining a total number of unread messages thathave been received by the IP telephony system for the user's mobiletelephony device but which have not yet been delivered to the user'smobile telephony device, and wherein the sending step further comprisessending a push notification that includes information about the totalnumber of unread messages.
 12. The method of claim 10, furthercomprising determining a total number of unread messages that have beenreceived by the IP telephony system for the user's mobile telephonydevice but which have not yet been displayed to or played to the userover the mobile telephony device, and wherein the sending step furthercomprises sending a push notification that includes information aboutthe total number of undisplayed or unplayed messages.
 13. The method ofclaim 10, further comprising determining a total number of new contactsthat have been added to an address book that is maintained by the IPtelephony system for the user and which have not yet been delivered tothe user's mobile telephony device, and wherein the sending step furthercomprises sending a push notification that includes information aboutthe total number of new contacts that have not yet been delivered to theuser's mobile telephony device.
 14. The method of claim 10, wherein thesending step comprises sending a push notification announcing anincoming call.
 15. The method of claim 14, further comprising obtaininginformation about the identity of the calling party who placed theincoming call from an address book maintained for the user by the IPtelephony system using caller ID information associated with theincoming call, and wherein the push notification includes the obtainedidentity information.
 16. The method of claim 10, wherein the sendingstep comprises sending a push notification announcing a receivedmessage.
 17. The method of claim 16, further comprising obtaininginformation about the identity of the party who sent the receivedmessage from an address book maintained for the user by the IP telephonysystem using sending ID information associated with the incomingmessage, and wherein the push notification includes the obtainedidentity information.
 18. The method of claim 10, wherein the reviewingand sending steps are performed periodically.
 19. The method of claim10, wherein the reviewing and sending steps are performed each time thatan incoming call directed to the user's mobile device is received by theIP telephony system and the call is not connected to the user's mobiletelephony device.